package com.yuda.campsite.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yuda.common.core.annotation.Excel;
import com.yuda.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 邀请码对象 invitation_code
 *
 * @author wyn
 * @date 2021-09-29
 */
public class   InvitationCode extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 营地id */
//    @Excel(name = "营地id")
    private Integer campsiteId;

    /** 邀请码  CAMP-年月-4位随机-4位随机 */
    @Excel(name = "邀请码")
    private String code;

    /** 1未使用 2已使用 */
    @Excel(name = "是否使用")
    private String status;

    /**  student_info 表的主键 */
//    @Excel(name = " student_info 表的主键")
    private String stuInfoId;

    /** 1已交费 2未交费 */
//    @Excel(name = "1已交费 2未交费")
    private String type;

    /** 扩展字段  */
//    @Excel(name = "扩展字段 ")
    private Integer invitationType;

    @Excel(name = "邀请码类型")
    @Transient
    private String invName;

    /** 减少金额 */
    @Excel(name = "减免金额")
    private BigDecimal reduction;

    /** 外键，invitation_code_classification的主键 */
//    @Excel(name = "外键，invitation_code_classification的主键")
    private Integer classifictionId;

    @Excel(name = "学生姓名")
    @Transient
    private String studentName;


    @Excel(name = "联系电话")
    @Transient
    private String phone;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public Integer getCampsiteId() {
        return campsiteId;
    }

    public void setCampsiteId(Integer campsiteId) {
        this.campsiteId = campsiteId;
    }

    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setStuInfoId(String stuInfoId)
    {
        this.stuInfoId = stuInfoId;
    }

    public String getStuInfoId()
    {
        return stuInfoId;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setInvitationType(Integer invitationType)
    {
        this.invitationType = invitationType;
    }

    public Integer getInvitationType()
    {
        return invitationType;
    }
    public void setReduction(BigDecimal reduction)
    {
        this.reduction = reduction;
    }

    public BigDecimal getReduction()
    {
        return reduction;
    }
    public void setClassifictionId(Integer classifictionId)
    {
        this.classifictionId = classifictionId;
    }

    public Integer getClassifictionId()
    {
        return classifictionId;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getInvName() {
        return invName;
    }

    public void setInvName(String invName) {
        this.invName = invName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("campsiteId", getCampsiteId())
            .append("code", getCode())
            .append("status", getStatus())
            .append("stuInfoId", getStuInfoId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("type", getType())
            .append("invitationType", getInvitationType())
            .append("reduction", getReduction())
            .append("classifictionId", getClassifictionId())
            .toString();
    }
}
